package com.beantools.factory.verify;

import com.beantools.util.StringUtil;

import java.io.Serializable;

/**
 * 这是verifyFactory接口的实现类，同时，序列化该抽象类
 * 使用该抽象类，暂时不重写父类的方法，增添一个验证非法字符的方法
 *
 * @author baoya
 * @version 1.0
 * @see StorageVerifyFactory
 * @since 1.1.0
 */
public abstract class AbstractVerifyFactory<E> implements VerifyFactory<E>, Serializable {

    private static final long serialVersionUID = 1089578352100128825L;

    /**
     * 这是一个静态方法，用来验证非法字符。程序中并不需要某些字符，我们称之为非法字符。
     * 如果出现了非法字符，就验证不通过，这时，交给调用者来抛相应的异常信息。
     *
     * @param character 待验证的字符串
     * @param regex     正则表达式
     * @return 如果验证成功，则返回true，验证不成，则返回false
     */
    public static boolean verifyIllegalCharacter(String character, String regex) {
        return StringUtil.verifyRegex(character, regex);
    }
}
